[Script Pascal] Verificando quantos Caracteres por Segundo tem a legenda
Seguindo a linha de garimpagem do Pix, estou pesquisando na internet alguns scripts pascal que facilitam nossa vida.
Este gera um relatório dizendo se sua legenda está nos "padrões" de 25 caracteres exibidos em 1 segundo (tempo-limite que a maioria das pessoas leva pra ler a legenda). OBS: o padrão oficial para dvd's comerciais e filmes de cinema é de 13 a 18 cps em média.
Salve este código com o nome ShowCPS.pas na pasta PascalScripts do Subtitle Workshop
Este gera um relatório dizendo se sua legenda está nos "padrões" de 25 caracteres exibidos em 1 segundo (tempo-limite que a maioria das pessoas leva pra ler a legenda). OBS: o padrão oficial para dvd's comerciais e filmes de cinema é de 13 a 18 cps em média.
Salve este código com o nome ShowCPS.pas na pasta PascalScripts do Subtitle Workshop
Descrição
Seguindo a linha de garimpagem do Pix, estou pesquisando na internet alguns scripts pascal que facilitam nossa vida.
Este gera um relatório dizendo se sua legenda está nos "padrões" de 25 caracteres exibidos em 1 segundo (tempo-limite que a maioria das pessoas leva pra ler a legenda). OBS: o padrão oficial para dvd's comerciais e filmes de cinema é de 13 a 18 cps em média.
Salve este código com o nome ShowCPS.pas na pasta PascalScripts do Subtitle Workshop
Este gera um relatório dizendo se sua legenda está nos "padrões" de 25 caracteres exibidos em 1 segundo (tempo-limite que a maioria das pessoas leva pra ler a legenda). OBS: o padrão oficial para dvd's comerciais e filmes de cinema é de 13 a 18 cps em média.
Salve este código com o nome ShowCPS.pas na pasta PascalScripts do Subtitle Workshop
// Made by Buzcatcher
program ShowCPS;
// ---------------------------------------------
const
cpsreport = 'C:\cps_report.txt';
CRLF = ''#13''#10;
Rsep = ' | ';
var
i, n, p : Integer;
duration, sublength, cps : Integer;
subtxt, report : String;
Ms : TmemoryStream;
begin
Ms := TmemoryStream.Create;
n := GetSubtitleCount-1;
for i := 0 to n do
begin
subtxt := GetSubtitleText(i);
sublength := length(subtxt);
p := pos(''#13''#10, subtxt);
if (p>0) then
sublength := sublength - 2;
duration := GetSubtitleFinalTime(i) - GetSubtitleInitialTime(i);
cps := round((sublength * 1000)/ duration);
report := IntToStr(i+1) + Rsep + IntToStr(sublength) + ' Characters' + Rsep + IntToStr(duration) + ' duration(ms)' + Rsep + '==> ' + IntToStr(cps) + ' Char/sec.'
if (cps > 25) then
report := report + Rsep + 'LEGENDA MUITO RAPIDA'
report := report + CRLF
Ms.Write(report, length(report));
try
Ms.SaveToFile(cpsreport);
except
MsgBox('Couldn''t write to file!', '&Ok', '', '', $20);
end;
end;
Ms.Free;
MsgBox('Report saved in C:\cps_report.txt', '&Ok', '', '', $20);
end.
"Report saved in C:\cps_report.txt" nao seria melhor salvar em ~/ ou $HOME ?